package cn.darkhorse.ticket.service;

import com.baomidou.mybatisplus.extension.service.IService;

/**
 * @description:
 * @author: mr.wang
 * @time: 2024/1/11 15:10
 */
public interface IRepeatCheckService<T> {
	
	
	/**
	 * 适用于无自动生成仅校验编码重复
	 * @param iService
	 * @param businessId
	 * @param code
	 */
	 void repeatCode(IService iService,Long businessId,String code);
	
	/**
	 * 适用于有自动生成 仅校验编码重复
	 * @param iService
	 * @param businessId
	 * @param businessType
	 * @param code
	 * @param isAuto
	 * @return
	 */
	 String repeatAutoCode(IService iService,Long businessId,String businessType,String code,boolean isAuto);
	
	/**
	 * 适用于无编码字段 仅校验名称重复
	 * @param iService
	 * @param businessId
	 * @param name
	 */
	 void repeatName(IService iService, Long businessId, String name);
	
	/**
	 * 适用于无自动生成 校验编码、名称重复
	 * @param iService
	 * @param businessId
	 * @param code
	 * @param name
	 */
	 void repeatCodeAndName(IService iService,Long businessId,String code,String name);
	
	/**
	 * 适用于有自动生成  校验编码、名称重复
	 * @param iService    业务实例
	 * @param businessId  业务ID
	 * @param businessType 业务类型
	 * @param code
	 * @param name
	 * @param isAuto   是否自动生成  true 、false
	 * @return
	 */
	 String repeatAutoCodeAndName(IService iService,Long businessId,String businessType,String code,String name,boolean isAuto);
	
	
	
}
